package com.hzhc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzhc.dto.LayuiSelectTreeVo;
import com.hzhc.dto.RouterDto;
import com.hzhc.entity.SysMenu;
import com.hzhc.utils.ResultUtil;
import com.hzhc.vo.SysMenuVo;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

/**
 * <p>
 * 菜单管理 服务类
 * </p>
 *
 * @author duanhm
 * @since 2019-07-26
 */
public interface SysMenuService extends IService<SysMenu> {
    List<SysMenuVo> selectMenuTreeByUserId(Long userId);

    /**
     * 构建前端路由所需要的菜单
     *
     * @param menus 菜单列表
     * @return 路由列表
     */
    List<RouterDto> buildMenus(List<SysMenuVo> menus);

    List<SysMenu> findMenuListAll(String searchData, Integer sysType);

    List<SysMenuVo> getSecondRouters(String searchData,Long userId);

    ResultUtil<T> saveMenu(SysMenu datas);

    ResultUtil<T> updateMenu(SysMenu datas);

    ResultUtil<T> delMenu(Long id);

    List<SysMenu> getGrantTreeMenu(Long id, Integer sysType, Integer systemId);

    List<LayuiSelectTreeVo> getSelectTreeMenu(SysMenu sysMenu);

    List<LayuiSelectTreeVo> getSelectMlTreeMenu(SysMenu sysMenu);

}
